package IO_study.serializable;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

/**
 * 学会对象序列化,使用ObjectOutputStream 把内存中的对象存入到磁盘文件中
 * transient修饰的成员变量不参与序列化
 * <p>
 * 序列化的版本号与反序列化的版本号必须一致才不会出错
 * 对象如果要序列话,必须实现Serializable序列化接口
 */
public class ObjectOutputStreamDemo1 {
    public static void main(String[] args) throws IOException {
        // 1.创建学生对象
        Student s = new Student("nanako", "nanakochann", "123456", 18);

        // 2.对象序列化 使用对象字节输出流包装字节流输出管道
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("E:\\Project-IDEA\\Study_java\\Java-basic\\src\\IO_study\\serializable\\obj.txt"));

        // 3.直接调用序列化方法
        oos.writeObject(s);

        System.out.println("序列化完成了~~");

        // 4.释放资源
        oos.close();
    }
}
